Field of the Invention
The present invention relates to techniques for synchronizing data streams. More specifically, the present invention relates to circuits and methods for storing information associated with events while processing data streams and using the stored information to synchronize the data streams.
Related Art
Rapid advances in computing power and network bandwidth have enabled computer systems to easily manipulate various types of encoded media, such as encoded video files and encoded audio files. The process of playing back of encoded media often involves decoding different types of media, such as video images and associated audio. However, these different types of media are typically encoded in different formats. Consequently, decoding of encoded media often involves coordinating the decoding of separate data streams associated with the different types of media.
The task of coordinating separate data streams as they are processed in different decoders can be a challenge, especially as operating conditions and user requirements vary dynamically. Existing techniques attempt to coordinate different data streams by estimating when events occur or will occur during processing of the data streams. However, these estimates are often inaccurate, which can cause delays in providing decoded data to the user or can cause a glitch during playback that degrades the quality of the user experience.
Hence what is needed is a method and an apparatus that facilitates synchronizing data streams without the above-described problems.